<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>练习</title>
    <script>
        /*
         练习四：
            水仙花数是指一个 n 位数（n≥3 ），
                它的每个位上的数字的 n 次幂之和等于它本身
                （例如：1**3 + 5**3 + 3**3 = 153）。
            求1000以内的所有的水仙花数。
        */

        // 求1000以内所有的三位数
        for(var i=100; i<1000; i++){

            //获取i的百位数
            // 这里我只需要计算结果的整数位，所以可以使用parseInt来进行取整
            // 虽然parseInt()可以用来对数字进行取整，但是它的性能极低，开发时不要这么用
            var bai = parseInt(i / 100);
            //获取i的十位数
            var shi = parseInt((i - (bai * 100)) / 10);
            //获取i的个位数
            var ge = i % 10;

            //判断i是否是水仙花数
            //i的百位数 十位数 个位数三个数的立方和如果等于i，那么i就是水仙花数
            if(bai ** 3 + shi ** 3 + ge ** 3 === i){
                console.log(i, '是水仙花数');
            }
        }


    </script>
</head>
<body>

</body>
</html>